﻿
namespace Sai.Test.TestDataBuilders
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Sai.Core.Introspection;

    public class ClassDeclarationBuilder
    {
        private Namespace namespaceName;
        private Name className;

        public static ClassDeclarationBuilder Class()
        {
            return new ClassDeclarationBuilder();
        }

        public ClassDeclarationBuilder Named(string name)
        {
            this.className = new Name(name);

            return this;
        }

        public ClassDeclarationBuilder InNamespace(string name)
        {
            this.namespaceName = new Namespace(name);

            return this;
        }

        public ClassDeclaration Build()
        {
            var declaration = new ClassDeclaration
            {
                TypeName = new TypeName(this.namespaceName, this.className)
            };

            //declaration.Methods.Add(new MethodDeclaration(
            return declaration;
        }

    }
}
